約 4,483,515 件
https://w.atwiki.jp/bithouse/pages/32.html
入力フォームのチェックはJavaScriptで行う 削除の確認もJavaScriptで表示させる
https://w.atwiki.jp/1283455/pages/56.html
このブログパーツは正男wikiに関連しているものです。 また、このパーツはホームページでも使用できます。 以下のHTMLをBODY区画の好きな場所に貼り付けてください。 ※JAVAスクリプトを使用しています。 ※初歩的なHTMLの質問は受付ていません。ご注意ください。 正男wiki更新情報が表示されます。 script type="text/javascript" charset="UTF-8" src="http //www5.atwiki.jp/1283455/js/recent" /script 詳しくはコチラ 正男wikiで新規作成されたページが表示されます。 script type="text/javascript" charset="UTF-8" src="http //www5.atwiki.jp/1283455/js/newcreate" /script 詳しくはコチラ 貼り付けたページ内の関連するキーワードを自動的にリンクします。 script type="text/javascript" charset="UTF-8" src="http //www5.atwiki.jp/1283455/js/dic/content/atwiki_autolink" /script 詳しくはコチラ タグの一覧を表示します。 script type="text/javascript" charset="UTF-8" src="http //www5.atwiki.jp/1283455/js/tagcloud" /script 詳しくはコチラ 正男wiki内を検索できるフォームを設置できます。 script type="text/javascript" charset="UTF-8" src="http //www5.atwiki.jp/1283455/js/search" /script 詳しくはコチラ ※このページは管理人のみ編集できます。
https://w.atwiki.jp/ciez/pages/31.html
Linux tipGive permisson to script Redirect to files list directories Shell script特殊な変数 コマンドの実行結果を利用する 変数を数値として扱いたい 変数に対するパターンマッチ copy a file to multiple directories Loop with counts 引数すべてに同じ処理をする if 文 ディレクトリの存在チェック 直前のコマンドの終了ステータスで終了する Lock ファイルの利用 ViChange color Linux tip Give permisson to script chmod u+x hoge.sh Redirect to files ./sysbackup.sh log.txt 2 err.txt ./sysbackup.sh log.txt 2 1 list directories find -type d -maxdepth 1 Shell script 特殊な変数 変数 説明 $n nは数字であり、$0はシェルスクリプト名、以降$1、$2…は第1引数、第2引数…である。第10引数以降は${10}、${11}…で参照する。 $# 与えられた引数の個数 $@ $0以外の全ての引数("$@"のようにダブルクォーテーションで囲んだ場合"$1" "$2" …"のように個別に展開される。) $* $0以外の全ての引数("$@"のようにダブルクォーテーションで囲んだ場合"$1 $2 …"のように展開される。) $? 最後に実行したコマンドの終了ステータス $! 最後に実行したバックグラウンドコマンドのPID $$ シェルのPID $- 現在のオプションフラグ コマンドの実行結果を利用する コマンドの実行結果を変数に代入したいときは、そのコマンドを`(バッククオート)で囲みその結果を変数に入れます。 変数を数値として扱いたい declare -i test test=1 test=$test+1 echo $test 変数に対するパターンマッチ $ echo ${testpath##/*/} how.to.linux $ echo ${testpath#/*/} sekino/Linux/how.to.linux $ echo ${testpath%%.*} /home/sekino/Linux/how $ echo ${testpath%.*} /home/sekino/Linux/how.to copy a file to multiple directories #!/bin/bash for DIR in $(ls -d hoge_*) do echo $DIR cp ./hoge1.dat ./$DIR/hoge.dat done Loop with counts #!/bin/bash i=0 while [ $i -lt 5 ]; do echo $i i=`expr $i + 1` done 引数すべてに同じ処理をする #!/bin/sh echo hi $* for name in $* do echo hi $name done if 文 word=2 if [ $word -eq 1 ]; then echo "if" elif [ $word -eq 2 ]; then echo "elif" else echo "else" fi ディレクトリの存在チェック if [ ! -d "$DIR" ]; then echo "$DIR" " is not a directory" exit 1 fi * -e ファイルが存在する(ディレクトリを含むどのようなタイプのファイルであっても)。 * -f レギュラーファイル(ディレクトリ等を除く)が存在する。 * -d ディレクトリが存在する。 * -r ファイルが存在し、リード権がある。 * -s ファイルが存在し、フィルサイズが0でない。 直前のコマンドの終了ステータスで終了する exit $? Lock ファイルの利用 #!/bin/sh LOCKFILE=/tmp/.lock if [ -e $LOCKFILE ] then echo "Already Running" else touch $LOCKFILE echo "OK" sleep 10 rm $LOCKFILE fi Vi Change color hi Comment ctermfg=DarkBlue guifg=Blue hi Statement ctermfg=DarkRed guifg=Brown hi Identifier ctermfg=Blue guifg=DarkCyan hi PreProc ctermfg=Magenta guifg=Purple hi Constant ctermfg=Black guifg=Magenta hi Special ctermfg=DarkMagenta guifg=SlateBlue hi Type ctermfg=DarkCyan guifg=SeaGreen hi Ignore ctermfg=Gray guifg=bg let background = ( background == "dark"? "light" "dark" )
https://w.atwiki.jp/hear_br0wn/pages/33.html
●if構文(条件分岐) 【①条件1つの場合】 if(条件式){ 処理 } ※条件式には比較演算子を使用 例: if(x==3){ alert("正解!"); } 以下のように表示、 xに3が入った場合のみアラートが実行される。 ※今回は数値の「3」が入っているが、文字を入れる場合は、「 」「"」で挟む。 【②条件が2つ以上の場合】 if(条件式){ 処理A(条件を満たす場合 = 真の処理) }else{ 処理B(条件を満たさない場合 = 偽の処理) } ※真=true、偽=falseともいう 例: if(x==3){ alert("正解!") }else{ alert("不正解!") }
https://w.atwiki.jp/divadiva/pages/95.html
Ruby on Railsでフォーム内のボタンからAjaxを用いてアクションを呼び出して何らかの処理を実行し、その結果としてthickboxを使ったモーダルダイアログを表示する方法をまとめました。 図にするとこんな感じ。 thickboxはWebページをグレイアウトしてその上にダイアログウィンドウをを表示したい場合に利用できるものです。thickboxを動作させるにはまずjQueryをセットアップして利用可能とし、かつ、Rails標準のPrototype.jsとの競合を解決してやる必要があります。その方法はこのページを参照して解決しましょう。 そしてめでたく環境が整ったら、いよいよコーディングです。 まずフォームを表示するページですが、こんな感じです。 例) index.html.erb % form_remote_tag( url = { action = アクションメソッド}... % フォームの部品 % end % このフォームタグは actionだけを指定して controllerを指定していませんので、index.html.erbが所属するコントローラを暗黙のうちに選択していることになります。また、from_remote_tagは通常のフォームサブミットではなく、Ajax通信を実行します。link_to_remoteとの違いは、通信時にたとえばテキスト入力ボックス等のフォームタグコンポーネントの情報もいっしょに送信することです。 さて、上記Ajax通信が実施されると、コントローラのアクションメソッドが呼び出されますので、必要な処理を実行させてください。 例) foobar_controller.rb def アクションメソッド 何らかの処理 end さてここで問題なのが、「必要な処理」が終了したあとです。 だいたい、 HTMLの破片を返す 何もしない Javascriptをクライアントに返して実行させる のいずれかでしょう。モーダルダイアログを表示させるケースは3つ目に該当します。 アクションメソッド処理が完了すると、Railsは何らかのレンダリング処理をしようとします。ですのでレンダリング処理に関わるコードがなかったり、レンダリングするための素材(.html.erbや.js.rjsファイル)が存在しないと、エラーが発生します。 HTMLの破片を返すのは簡単です。これまで通りRailsの作法に従い「アクションメソッド名.html.erb」を準備しておけば、勝手にその内容を返してくれます。 また何もしない場合、アクションメソッドを下記のように記述します。 def アクションメソッド 何らかの処理 render nothing = true end 最後にちょっとわかりにくいのがJavascriptをクライアントに返して実行させる場合です。 まず最初にそのJavascriptの内容をアクションメソッドの中に書いてしまうか、あるいはRJSファイルを別途用意して、Railsに呼び出させるかの2通りがあります。 RJSファイルを利用する場合は「アクションメソッド名.js.rjs」ファイルを準備すればRailsが勝手に呼び出してくれます。RJSファイルの内容からJavascriptが生成されてクライアントに返信され、クライアントで実行してくれます。このとき、アクションメソッドに、 render nothing = true とか書いていると、RJSファイルが存在しても呼び出されないので注意して下さい。 そしてもう1つの方法、RJSファイルを利用せず、直接アクションメソッドに書いてしまう場合は、下記のようにします。 def アクションメソッド 何らかの処理 render update do |page| Javascriptにさせる処理 end end さて問題は、そもそものテーマであったthickboxによるダイアログ表示です。仮に「お知らせ」というタイトルで「public/aaa/inform.html」の内容を幅300px、高さ200pxのthickboxダイアログに表示させる場合、下記のように記述します。 def アクションメソッド 何らかの処理 render update do |page| page "tb_show( お知らせ , /aaa/inform.html?height=200 width=300 , );" end end ちなみに、jGrowlを利用して通知ボックスを表示する場合は下記のようになります。(ただしPrototype.jsとjQuery.jsの競合を防ぐため、$をj$に置換している) page "j$.jGrowl( Hello world! );" または page.call j$.jGrowl , Hello world!
https://w.atwiki.jp/javascriptcc/pages/2.html
メニュー トップページ プラグイン紹介 メニュー メニュー2 リンク @wiki @wikiご利用ガイド 他のサービス 無料ホームページ作成 無料ブログ作成 無料掲示板レンタル 2ch型掲示板レンタル お絵かきレンタル ここを編集
https://w.atwiki.jp/javaapl/pages/15.html
Javaは例外処理機構を備えており、プログラム実行中に生じた異常(例外)の扱いを、 比較的安全な方法で行い、プログラムを読みやすく記述することができる。 Javaでは簡潔なメモリモデルを採用しており、プログラマがメモリ (主記憶装置) を管理する負担を軽減する。 あらゆるオブジェクトはメモリ内のヒープという領域に割り当てられる。 メモリ管理は、Java仮想マシンに統合された自動ガベージコレクションの機能によって行われる。 従来のオブジェクト指向プログラミング言語である C++ では、ヒープ領域に生成したオブジェクトについて、 もはや必要が無くなった時に破棄する指示を、プログラマが自分で責任をもって行わなければならなかった。 これは、C++ プログラマにとっては負担が大きく複雑で間違えやすい作業であり、 ソフトウェアの安全性・開発効率・保守性を損なう要因だった。 Javaでは自動ガベージコレクションの機能があるため、このようなことは無く、プログラマの負担は大きく軽減される。 Javaのもう一つの特徴はプラットフォームに依存していないことであり、これは Javaのプログラムがさまざまなハードウェアやオペレーティングシステム上で必ず同じように動く、ということを意味する。
https://w.atwiki.jp/javascriptcc/pages/5.html
更新履歴 @wikiのwikiモードでは #recent(数字) と入力することで、wikiのページ更新履歴を表示することができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_117_ja.html たとえば、#recent(20)と入力すると以下のように表示されます。 取得中です。
https://w.atwiki.jp/kodan/pages/169.html
http //pops-web.com/main/pops/archives/131 ■以前 (jQuery1.9以前) jQuery.browser.msie →IEの判定ができる ■jQuery1.9以降 /*@cc_on!@*/false
https://w.atwiki.jp/purkinje/pages/27.html
所持品の取得と消費による数の増減を扱う関数を作る。event、equip、magicの3つとも関数の構造はそっくりなので、eventだけを紹介する。 イベントアイテムを取得する get_event()関数では、まず手に入れたイベントアイテムが既に所有しているかどうかを調べる。Pip_event[i].id_numを手がかりにして所有しているイベントアイテム名data_event[Pip_event[i].id_num].nameを全部調べる。イベントアイテム名に対応するデータベース該当しなければ、新規アイテムとしてPip_eventの中でid番号が0で連番が最小のところに居場所を作る。該当すれば、該当id番号の数量event[i].numを増加させる。 function get_event(event_name, event_num) { var i, j; var new_event = true; // add_msg("get_eventに入った。"); // デバッグ表示用 for (i=0; i Pip_event.length; i++) { // add_msg("iの値は" + i); // デバッグ表示用 if (event_name === data_event[Pip_event[i].id_num].name new_event === true) { Pip_event[i].num += event_num; add_msg(event_name + "の数が" + event_num + "個増えた。"); new_event = false; } } if (new_event === true) { j = 0; while (data_event[j].name !== event_name) { j++; } i = 0; while (Pip_event[i].id_num !== 0) { i++; } Pip_event[i].id_num = j; Pip_event[i].num = event_num; add_msg(event_name + "を新たに入手した。"); } update_status(); } イベントアイテムを消費するlose_event()関数では、Pip_event[i].id_numを手がかりにして所有しているイベントアイテム名data_event[Pip_event[i].id_num].nameを全部調べる。見つけたら、Pip_event[i].num -= num;で個数をnum個減らす。 function lose_event(name, num) { var i,j; for (i=0; i Pip_event.length; i++) { if (data_event[Pip_event[i].id_num].name === name) { Pip_event[i].num -= num; add_msg(name + "の数が" + num + "個減った。"); } } update_status(); } イベントアイテムをすべて失うclear_event()関数では、特別扱いのE・Jを除きPip_eventを0で埋め尽くす。 冒険進行に必要なアイテムは、再度入手可能と言うことにして、特別扱いはE・Jのみにしてみた。 function clear_event() { var i; for (i=0; i Pip_event.length; i++) { //add_msg(data_event[Pip_event[i].id_num].name + "の数は" + Pip_event[i].num + "個"); if (data_event[Pip_event[i].id_num].name === "E・J") { // } else if (data_event[Pip_event[i].id_num].name === "首に刺さったボルト") { // } else if (data_event[Pip_event[i].id_num].name === "羊皮紙") { // } else if (data_event[Pip_event[i].id_num].name === "金貨") { // } else if (data_event[Pip_event[i].id_num].name === "通行許可硬貨") { // } else if (data_event[Pip_event[i].id_num].name === "サクラの花") { // } else if (data_event[Pip_event[i].id_num].name === "楕円のメダル") { // } else if (data_event[Pip_event[i].id_num].name === "警告球") { // } else if (data_event[Pip_event[i].id_num].name === "八角形の銅貨") { // } else if (data_event[Pip_event[i].id_num].name === "八角形の合金の硬貨") { // } else if (data_event[Pip_event[i].id_num].name === "エクスカリバー") { } else { Pip_event[i].id_num = 0; Pip_event[i].num = 0; } //add_msg(data_event[Pip_event[i].id_num].name + "の数は" + Pip_event[i].num + "個"); } } update_status()関数で、表示されている所持品を全部更新しよう。これもeventだけ示す。equip、magicも同様。htmlはこれ。 div 戦利品 /div div id="event0_line" INPUT TYPE="button" id="event0_button" value="click_event0_label" onClick="click_event(0)" span id="event0_exist" /span span id="event0_name" 戦利品0 /span span id="event0_num" 0 /span span id="event0_comment" コメント0 /span /div div id="event1_line" INPUT TYPE="button" id="event1_button" value="click_event1_label" onClick="click_event(1)" span id="event1_exist" /span span id="event1_name" 戦利品1 /span span id="event1_num" 1 /span span id="event1_comment" コメント1 /span /div div id="event2_line" INPUT TYPE="button" id="event2_button" value="click_event2_label" onClick="click_event(2)" span id="event2_exist" /span span id="event2_name" 戦利品2 /span span id="event2_num" 2 /span span id="event2_comment" コメント2 /span /div div id="event3_line" INPUT TYPE="button" id="event3_button" value="click_event3_label" onClick="click_event(3)" span id="event3_exist" /span span id="event3_name" 戦利品3 /span span id="event3_num" 3 /span span id="event3_comment" コメント3 /span /div div id="event4_line" INPUT TYPE="button" id="event4_button" value="click_event4_label" onClick="click_event(4)" span id="event4_exist" /span span id="event4_name" 戦利品4 /span span id="event4_num" 4 /span span id="event4_comment" コメント4 /span /div div id="event5_line" INPUT TYPE="button" id="event5_button" value="click_event5_label" onClick="click_event(5)" span id="event5_exist" /span span id="event5_name" 戦利品5 /span span id="event5_num" 5 /span span id="event5_comment" コメント5 /span /div div id="event6_line" INPUT TYPE="button" id="event6_button" value="click_event6_label" onClick="click_event(6)" span id="event6_exist" /span span id="event6_name" 戦利品6 /span span id="event6_num" 6 /span span id="event6_comment" コメント6 /span /div div id="event7_line" INPUT TYPE="button" id="event7_button" value="click_event7_label" onClick="click_event(7)" span id="event7_exist" /span span id="event7_name" 戦利品7 /span span id="event7_num" 7 /span span id="event7_comment" コメント7 /span /div div id="event8_line" INPUT TYPE="button" id="event8_button" value="click_event8_label" onClick="click_event(8)" span id="event8_exist" /span span id="event8_name" 戦利品8 /span span id="event8_num" 8 /span span id="event8_comment" コメント8 /span /div div id="event9_line" INPUT TYPE="button" id="event9_button" value="click_event9_label" onClick="click_event(9)" span id="event9_exist" /span span id="event9_name" 戦利品9 /span span id="event9_num" 9 /span span id="event9_comment" コメント9 /span /div div id="event10_line" INPUT TYPE="button" id="event10_button" value="click_event10_label" onClick="click_event(10)" span id="event10_exist" /span span id="event10_name" 戦利品10 /span span id="event10_num" 10 /span span id="event10_comment" コメント10 /span /div div id="event11_line" INPUT TYPE="button" id="event11_button" value="click_event11_label" onClick="click_event(11)" span id="event11_exist" /span span id="event11_name" 戦利品11 /span span id="event11_num" 11 /span span id="event11_comment" コメント11 /span /div div id="event12_line" INPUT TYPE="button" id="event12_button" value="click_event12_label" onClick="click_event(12)" span id="event12_exist" /span span id="event12_name" 戦利品12 /span span id="event12_num" 12 /span span id="event12_comment" コメント12 /span /div div id="event13_line" INPUT TYPE="button" id="event13_button" value="click_event13_label" onClick="click_event(13)" span id="event13_exist" /span span id="event13_name" 戦利品13 /span span id="event13_num" 13 /span span id="event13_comment" コメント13 /span /div div id="event14_line" INPUT TYPE="button" id="event14_button" value="click_event14_label" onClick="click_event(14)" span id="event14_exist" /span span id="event14_name" 戦利品14 /span span id="event14_num" 14 /span span id="event14_comment" コメント14 /span /div div id="event15_line" INPUT TYPE="button" id="event15_button" value="click_event15_label" onClick="click_event(15)" span id="event15_exist" /span span id="event15_name" 戦利品15 /span span id="event15_num" 15 /span span id="event15_comment" コメント15 /span /div div id="event16_line" INPUT TYPE="button" id="event16_button" value="click_event16_label" onClick="click_event(16)" span id="event16_exist" /span span id="event16_name" 戦利品16 /span span id="event16_num" 16 /span span id="event16_comment" コメント16 /span /div div id="event17_line" INPUT TYPE="button" id="event17_button" value="click_event17_label" onClick="click_event(17)" span id="event17_exist" /span span id="event17_name" 戦利品17 /span span id="event17_num" 17 /span span id="event17_comment" コメント17 /span /div div id="event18_line" INPUT TYPE="button" id="event18_button" value="click_event18_label" onClick="click_event(18)" span id="event18_exist" /span span id="event18_name" 戦利品18 /span span id="event18_num" 18 /span span id="event18_comment" コメント18 /span /div div id="event19_line" INPUT TYPE="button" id="event19_button" value="click_event19_label" onClick="click_event(19)" span id="event19_exist" /span span id="event19_name" 戦利品19 /span span id="event19_num" 19 /span span id="event19_comment" コメント19 /span /div div id="event20_line" INPUT TYPE="button" id="event20_button" value="click_event20_label" onClick="click_event(20)" span id="event20_exist" /span span id="event20_name" 戦利品20 /span span id="event20_num" 20 /span span id="event20_comment" コメント20 /span /div div id="event21_line" INPUT TYPE="button" id="event21_button" value="click_event21_label" onClick="click_event(21)" span id="event21_exist" /span span id="event21_name" 戦利品21 /span span id="event21_num" 21 /span span id="event21_comment" コメント21 /span /div div id="event22_line" INPUT TYPE="button" id="event22_button" value="click_event22_label" onClick="click_event(22)" span id="event22_exist" /span span id="event22_name" 戦利品22 /span span id="event22_num" 22 /span span id="event22_comment" コメント22 /span /div update_staus()関数で、値の表示を更新し、id番号id_numが0のものは表示しないようにする。 function update_status() { var i; // eventアイテムの更新 for (i=0; i Pip_event.length; i++) { document.getElementById("event" + i + "_exist").innerHTML = ""; document.getElementById("event" + i + "_name").innerHTML = data_event[ Pip_event[i].id_num ].name; document.getElementById("event" + i + "_num").innerHTML = Pip_event[i].num; document.getElementById("event" + i + "_button").value = data_event[ Pip_event[i].id_num ].label; document.getElementById("event" + i + "_comment").innerHTML = data_event[ Pip_event[i].id_num ].comment; } for (i=Pip_event.length; i data_event.length-1; i++) { document.getElementById("event" + i + "_exist").innerHTML = ""; document.getElementById("event" + i + "_name").innerHTML = "なし"; document.getElementById("event" + i + "_num").innerHTML = 0; document.getElementById("event" + i + "_button").value = "なし"; document.getElementById("event" + i + "_comment").innerHTML = ""; } // IDが0なら非表示、それ以外なら表示 for (i=0; i Pip_event.length; i++) { if (Pip_event[i].id_num === 0) { document.getElementById("event" + i +"_line").style.display = none ; //非表示 } else { document.getElementById("event" + i +"_line").style.display = block ; //表示 } } // マーリンの隠れ家から取ってきた装備品の更新 for (i=0; i Pip_equip.length; i++) { document.getElementById("equip" + i + "_exist").innerHTML = ""; document.getElementById("equip" + i + "_name").innerHTML = data_equip[ Pip_equip[i].id_num ].name; document.getElementById("equip" + i + "_num").innerHTML = Pip_equip[i].num; document.getElementById("equip" + i + "_button").value = data_equip[ Pip_equip[i].id_num ].label; document.getElementById("equip" + i + "_comment").innerHTML = data_equip[ Pip_equip[i].id_num ].comment; } for (i=Pip_equip.length; i data_equip.length-1; i++) { document.getElementById("equip" + i + "_exist").innerHTML = ""; document.getElementById("equip" + i + "_name").innerHTML = "なし"; document.getElementById("equip" + i + "_num").innerHTML = 0; document.getElementById("equip" + i + "_button").value = "なし"; document.getElementById("equip" + i + "_comment").innerHTML = ""; } // IDが0なら非表示、それ以外なら表示 for (i=0; i Pip_equip.length; i++) { if (Pip_equip[i].id_num === 0) { document.getElementById("equip" + i +"_line").style.display = none ; //非表示 } else { document.getElementById("equip" + i +"_line").style.display = block ; //表示 } } // マーリンの隠れ家から取ってきた魔法の品の更新 for (i=0; i Pip_magic.length; i++) { document.getElementById("magic" + i + "_exist").innerHTML = ""; document.getElementById("magic" + i + "_name").innerHTML = data_magic[ Pip_magic[i].id_num ].name; document.getElementById("magic" + i + "_num").innerHTML = Pip_magic[i].num; document.getElementById("magic" + i + "_button").value = data_magic[ Pip_magic[i].id_num ].label; document.getElementById("magic" + i + "_comment").innerHTML = data_magic[ Pip_magic[i].id_num ].comment; } for (i=Pip_magic.length; i data_magic.length-1; i++) { document.getElementById("magic" + i + "_exist").innerHTML = ""; document.getElementById("magic" + i + "_name").innerHTML = "なし"; document.getElementById("magic" + i + "_num").innerHTML = 0; document.getElementById("magic" + i + "_button").value = "なし"; document.getElementById("magic" + i + "_comment").innerHTML = ""; } // IDが0なら非表示、それ以外なら表示 for (i=0; i Pip_magic.length; i++) { if (Pip_magic[i].id_num === 0) { document.getElementById("magic" + i +"_line").style.display = none ; //非表示 } else { document.getElementById("magic" + i +"_line").style.display = block ; //表示 } } calc_defense(); // 防御力再計算 update_LIFE_POINT(); // 生命点再表示 } // 防御力再計算 function calc_defense() { var i; Pip.defence = 0; // 今回の冒険で防御力を上下させるアイテムは無し } 本当なら、引数で指定されたアイテム名を持っているかどうか調べ、持っていれば何番目に持っているか(Pip_event[i].id_numのi)を返す小さな関数を書くべきだったが、書いてない。